﻿Public Class EmpleadosForm
    Private NivelEmpleado As Byte = 1

    Private Sub CargarUsuarios()
        'Carga a la tabla UsuariosTableAdapter los empleados del dataset 
        Me.UsuariosTableAdapter.Fill(Me.ScrumDataSet.Usuarios)
    End Sub
    Private Sub CargarEmpleados()
        'Carga a la tabla EMPLEADOTableAdapter los empleados del dataset 
        Me.EMPLEADOTableAdapter.Fill(Me.ScrumDataSet.EMPLEADO)
    End Sub
    Private Sub LimpiarDatosEmpleado()
        For Each mControl As Control In grbAñadirEmp.Controls
            If mControl.GetType = GetType(TextBox) Then TryCast(mControl, TextBox).Clear()
            If mControl.GetType = GetType(MaskedTextBox) Then TryCast(mControl, MaskedTextBox).Clear()
        Next
    End Sub
    Private Sub AgregarEmpleadoClienteFrm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Rellenamos el tableadapter con lo contenido en el data set
        CargarEmpleados()
        CargarUsuarios()
        txtDni.Focus()

    End Sub

    Private Sub btnAñadir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAñadir.Click

        Try
            Dim drUsuarios() As scrumDataSet.UsuariosRow = ScrumDataSet.Tables("Usuarios").Select("Usuario = '" & UsuarioTextBox.Text & "' And Contraseña = '" & ContraseñaTextBox.Text & "'")
            Dim drEmpleados() As scrumDataSet.EMPLEADORow = ScrumDataSet.Tables("EMPLEADO").Select("DNI = '" & txtDni.Text & "'")

            If drUsuarios.Length > 0 Then
                MessageBox.Show("Usuario existente, introduzca otro")
                Exit Sub
            End If

            If drEmpleados.Length > 0 Then
                MessageBox.Show("DNI existente, introduzca otro")
                Exit Sub
            End If

            EMPLEADOTableAdapter.Insert(txtDni.Text, txtNombre.Text, txtApellido1.Text, txtApellido2.Text) ' Lo inserta en la BD PERO NO EN EL DATASET
            UsuariosTableAdapter.Insert(UsuarioTextBox.Text, ContraseñaTextBox.Text, NivelEmpleado)
        Catch ex As Exception

            MessageBox.Show(ex.Message)
            Exit Sub

        End Try

        CargarEmpleados() ' Trae toda la tabla (con la inserción incluída) de la BD
        LimpiarDatosEmpleado()

    End Sub

    Private Sub borrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles borrar.Click
        If MessageBox.Show("Está seguro de que quiere realizar estos cambios?", "auxto", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
            Try
                EMPLEADOTableAdapter.Delete(DNITextBox.Text, NombreTextBox.Text, Primer_ApellidoTextBox.Text, Segundo_ApellidoTextBox.Text)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
                Exit Sub
            End Try
        End If
        CargarEmpleados()
    End Sub

    Private Sub btnBorrarTodos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBorrarTodos.Click
        'borrar todos
        Try

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try

        CargarEmpleados()
    End Sub

    Private Sub btnModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnModificar.Click
        Try
            EMPLEADOTableAdapter.Update(txtNombre.Text, txtApellido1.Text, txtApellido2.Text, DNITextBox.Text, NombreTextBox.Text, Primer_ApellidoTextBox.Text, Segundo_ApellidoTextBox.Text)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        CargarEmpleados()

    End Sub

    Private Sub btnVovler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVovler.Click
        Me.Close()
    End Sub

    Private Sub btnLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimpiar.Click
        LimpiarDatosEmpleado()
    End Sub
    Private Sub btnBorrarUsuario_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBorrarUsuario.Click
        Dim drUsuarios() As scrumDataSet.UsuariosRow = ScrumDataSet.Tables("Usuarios").Select("Usuario = '" & UsuarioTextBox.Text & "' And Contraseña = '" & ContraseñaTextBox.Text & "'")
        Dim drEmpleados() As scrumDataSet.EMPLEADORow = ScrumDataSet.Tables("EMPLEADO").Select("DNI = '" & txtDni.Text & "'")

        If txtNivel.Text = 0 Then
            MessageBox.Show("El administrador no puede ser eliminado")
            Exit Sub
        End If


        Try

            UsuariosTableAdapter.Delete(txtusuario.Text, txtContraseña.Text, txtNivel.Text)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        CargarUsuarios()
    End Sub

End Class